#define isWhole(number) (number==round(number,1))
obj/Weaponry
Knife
icon = 'Knife.dmi'
Price = 500
var/Material
Bump(atom/A)
var/mob/O = Owner
if(ismob(A))
var/mob/M = A
var/dmg = round(O.NeedleSkill + O.Taijutsu)
switch(Material)
if("Bronze") dmg*=1
if("Iron") dmg*=1.5
if("Steel") dmg*=2
M.Health -= dmg
view(M)<<"[M] was hit by \a [src] for [dmg]"
O.NeedleEXP += M.Level
O.NeedleLvlUp()
M.Death(O)
if(istype(A,/obj/Training/Training_Log))
var/rndm = rand(20,30)
O.NeedleEXP += rndm
O.NeedleLvlUp()
O<<output("<font size=1>You gained [rndm] Needle experience","Crap")
del(src)
New()
src.name = "[src.Material] Knife"
src.suffix = "([Amount])"
..()
Bronze
Material = "Bronze"
Amount = 5
Iron
Material = "Iron"
Amount = 5
Steel
Material = "Steel"
Amount = 5
verb
Drop()
for(var/obj/Weaponry/Needle/K in usr.contents)
if(!src.Amount)
del(src)
var/drop = input("How many do you want to drop?\n- You have [src.Amount] [src]\s","Drop") as num|null
if(drop > src.Amount || !isWhole(drop) || drop <= 0) return
src.Amount -= abs(drop)
src.suffix = "([src.Amount])"
var/obj/Weaponry/Needle/D = new(usr.loc)
D.Amount = drop
if(!src.Amount) del(src)
usr.AutoSave()
Problem description:
Okay I have the weapon in my inventory. When I right click it and select Drop, nothing happens but the AutoSave() proc. Any reason for this? It worked before, now it just stopped working.