aboutsummaryrefslogtreecommitdiff
path: root/src/crskill.cc
diff options
context:
space:
mode:
authorfusion32 <marcopuzziello@gmail.com>2025-05-30 20:12:36 -0300
committerfusion32 <marcopuzziello@gmail.com>2025-05-30 20:12:36 -0300
commit08780dad536eb5d0544eb2ea70e5443dc237976f (patch)
tree673a57b538ca9016d5b386ff32c3bd67c2190c2f /src/crskill.cc
parentdff5e62f6ebb1b06c234b9144458788893b6ca86 (diff)
downloadgame-08780dad536eb5d0544eb2ea70e5443dc237976f.tar.gz
game-08780dad536eb5d0544eb2ea70e5443dc237976f.zip
more work on `crcombat.cc`
Diffstat (limited to 'src/crskill.cc')
-rw-r--r--src/crskill.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/crskill.cc b/src/crskill.cc
index ce12cad..384e1fc 100644
--- a/src/crskill.cc
+++ b/src/crskill.cc
@@ -546,7 +546,11 @@ bool TSkillProbe::Probe(int Diff, int Prob, bool Increase){
this->Increase(1);
}
- // TODO(fusion): Not sure what's going on here.
+ // NOTE(fusion): `Diff` is a difficulty threshold and determines how challenging
+ // an action is based on the current skill level `this->Act`. The higher the
+ // skill level, the less difficult the action.
+ // I've only seen it used with SKILL_DISTANCE to determine whether a ranged
+ // attack should hit.
bool Result = true;
if(Diff != 0){
if(this->Act >= (rand() % Diff)){
@@ -1021,7 +1025,7 @@ void TSkillPoison::Event(int Range){
Range = -Range;
}
- Master->Damage(GetCreature(Master->PoisonDamageOrigin), Range, 2);
+ Master->Damage(GetCreature(Master->PoisonDamageOrigin), Range, DAMAGE_POISON);
// NOTE(fusion): I think this is checking whether `Master` is still upon some
// poison field to determine whether we should extend the poison effect?
@@ -1031,7 +1035,7 @@ void TSkillPoison::Event(int Range){
// OpenTibia terms.
ObjectType ObjType = Obj.getObjectType();
if(ObjType.getFlag(AVOID)){
- if(ObjType.getAttribute(AVOIDDAMAGETYPES) == 2){
+ if(ObjType.getAttribute(AVOIDDAMAGETYPES) == DAMAGE_POISON){
this->Cycle += 1;
}
}
@@ -1054,7 +1058,7 @@ void TSkillBurning::Event(int Range){
return;
}
- Master->Damage(GetCreature(Master->FireDamageOrigin), 10, 4);
+ Master->Damage(GetCreature(Master->FireDamageOrigin), 10, DAMAGE_FIRE);
// NOTE(Fusion): Something similar to `TSkillPoison::Event` except we're
// looking for a different field type.
@@ -1062,7 +1066,7 @@ void TSkillBurning::Event(int Range){
while(Obj != NONE){
ObjectType ObjType = Obj.getObjectType();
if(ObjType.getFlag(AVOID)){
- if(ObjType.getAttribute(AVOIDDAMAGETYPES) == 4){
+ if(ObjType.getAttribute(AVOIDDAMAGETYPES) == DAMAGE_FIRE){
this->Cycle += 1;
}
}
@@ -1080,7 +1084,7 @@ void TSkillEnergy::Event(int Range){
return;
}
- Master->Damage(GetCreature(Master->EnergyDamageOrigin), 25, 8);
+ Master->Damage(GetCreature(Master->EnergyDamageOrigin), 25, DAMAGE_ENERGY);
// NOTE(Fusion): Something similar to `TSkillPoison::Event` except we're
// looking for a different field type.
@@ -1088,7 +1092,7 @@ void TSkillEnergy::Event(int Range){
while(Obj != NONE){
ObjectType ObjType = Obj.getObjectType();
if(ObjType.getFlag(AVOID)){
- if(ObjType.getAttribute(AVOIDDAMAGETYPES) == 8){
+ if(ObjType.getAttribute(AVOIDDAMAGETYPES) == DAMAGE_ENERGY){
this->Cycle += 1;
}
}