Difference between pages "Kicking" and "Chatting"

From IvanWiki
(Difference between pages)
Jump to navigation Jump to search
(Created page with "{{code}} {{spoiler}} //work in progress Kicking with (k) allows the player to apply the full force of his legs upon an adjacent tile and anything that happens to be occupying it ...")
 
m
 
Line 1: Line 1:
{{code}}
+
'''C'''hat command allows the [[player]] to talk to any other [[creature]]. All creatures have several different flavour texts to respond with depending of their disposition towards the player, and some even offer special services when talked to. Be warned that although almost every monster produces a response when talked to, animals are generally unable to initiate chat when you [[polymorph]] into their form.
{{spoiler}}
 
//work in progress
 
Kicking with (k) allows the player to apply the full force of his legs upon an adjacent tile and anything that happens to be occupying it at the time.
 
  
The effect of being kicked depends on what type of entity is on the receiving end. Enemies will make a hit check for damage and being thrown off balance, items will be thrown a certain distance, and walls or other terrain objects will check for damage.
+
Chatting has a few important functions:
<pre>void character::BeKicked(character* Kicker, item* Boot, bodypart* Leg, v2 HitPos, double KickDamage, double ToHitValue, int Success, int Direction, truth Critical, truth ForceHit)
+
* Receive and turn in [[quests]] from important NPCs.
{
+
* Request services from [[priest]]s, [[smith]]s or [[tailor]]s.
  switch(TakeHit(Kicker, Boot, Leg, HitPos, KickDamage, ToHitValue, Success, KICK_ATTACK, Direction, Critical, ForceHit))
+
* Issue commands to intelligent [[Pet|allies]].
  {
+
* [[Science Talking]] to boost your [[Int]] and [[Wis]].
  case HAS_HIT:
 
  case HAS_BLOCKED:
 
  case DID_NO_DAMAGE:
 
    if(IsEnabled() && !CheckBalance(KickDamage))
 
    {
 
      if(IsPlayer())
 
ADD_MESSAGE("The kick throws you off balance.");
 
      else if(Kicker->IsPlayer())
 
ADD_MESSAGE("The kick throws %s off balance.", CHAR_DESCRIPTION(DEFINITE));
 
  
      v2 FallToPos = GetPos() + game::GetMoveVector(Direction);
+
[[Category:Game Mechanics]]
      FallTo(Kicker, FallToPos);
 
    }
 
  }
 
}</pre>
 
A kick's '''damage''' is determined by the '''boot''' on the foot used, the user's '''base kick strength''' (default is double the user's unarmed strength), the user's '''LSTR''' and the user's '''kicking skill'''.
 
<pre>void leg::CalculateDamage()
 
{
 
  if(!Master)
 
    return;
 
 
 
  double WeaponStrength = GetBaseKickStrength() * GetBaseKickStrength();
 
  item* Boot = GetBoot();
 
 
 
  if(Boot)
 
    WeaponStrength += Boot->GetWeaponStrength();
 
 
 
  double Base = sqrt(5e-5 * WeaponStrength);
 
 
 
  if(Boot)
 
    Base += Boot->GetDamageBonus();
 
 
 
  KickDamage = Base * sqrt(1e-7 * GetAttribute(LEG_STRENGTH))
 
      * GetHumanoidMaster()->GetCWeaponSkill(KICK)->GetBonus();
 
}</pre>
 
A kick's '''to-hit value''' is calculated using the equipped '''boot's to-hit bonus''' and the user's '''AGI''', '''PER''', '''kicking skill''' and '''[[burden]]''' value.
 
<pre>void leg::CalculateToHitValue()
 
{
 
  if(!Master)
 
    return;
 
 
 
  double BonusMultiplier = 10.;
 
  item* Boot = GetBoot();
 
 
 
  if(Boot)
 
    BonusMultiplier += Boot->GetTHVBonus();
 
 
 
  KickToHitValue = GetAttribute(AGILITY)
 
  * sqrt(2.5 * Master->GetAttribute(PERCEPTION))
 
  * GetHumanoidMaster()->GetCWeaponSkill(KICK)->GetBonus()
 
  * Master->GetMoveEase()
 
  * BonusMultiplier / 10000000;
 
}</pre>
 
 
 
 
 
 
 
== Enemies ==
 
Enemies that are kicked can both be damaged by it and be thrown backward a few tiles.
 

Latest revision as of 16:05, 12 November 2019

Chat command allows the player to talk to any other creature. All creatures have several different flavour texts to respond with depending of their disposition towards the player, and some even offer special services when talked to. Be warned that although almost every monster produces a response when talked to, animals are generally unable to initiate chat when you polymorph into their form.

Chatting has a few important functions: