mud/lib/lib/props/damage.c
2020-09-06 05:43:07 -07:00

64 lines
1.2 KiB
C

/* /lib/props/damage.c
* From the Dead Souls Mud Library
* Things that do damage to other things
* Created by Descartes of Borg 970101
* Version: @(#) damage.c 1.1@(#)
* Last modified: 97/01/01
*/
#include <damage_types.h>
private int Class = 1;
private int DamageType = BLUNT;
private int MaxClass = 1;
// abstract methods
mixed GetProperty(string key);
// end abstract methods
int GetClass(){
int ret, blessing = GetProperty("blessed");
string type = this_object()->GetWeaponType();
if( !intp(blessing) ){
blessing = 0;
}
ret = (Class + blessing);
if(!ret) ret = 1;
if(type && type == "projectile" && this_object()->GetWielded()){
ret = (ret/(Class || ret));
}
return ret;
}
int SetClass(int x){
if( x > MaxClass ){
MaxClass = x;
}
return (Class = x);
}
int GetDamageType(){
return DamageType;
}
int SetDamageType(int x ){
return (DamageType = x);
}
int GetMaxClass(){
return MaxClass;
}
string array GetSave(){
return ({ "Class" });
}
int eventStrike(object ob){
if(estatep(this_object()) && !estatep(ob)) return 1;
return GetClass();
}