64 lines
1.2 KiB
C
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();
|
|
}
|