Search Results
Searched for posts by Pent in all forums

Showing results 171 - 180 out of 217 total
Modify your search
Posted by Pent, May 6, 2014 at 6:39 pm
chaostrom wrote
Cha was planned to have an effect, but it hasn't been implemented.

Perhaps not in 0.50 (which lacks the taming difficulty system entirely), but in CVS (and any derivatives) Charisma does have an affect on taming.

Dulcis taming is based on WIS/CHA (as well as the player's and monster's alignment with Dulcis), scroll taming is based on INT/CHA, and lyre taming is just based on CHA.

In essence, it's

Dulcis:
 3*TamingDifficulty vs (CHA+WIS)+(DulcisRelation/20)

Scroll:
 5*TamingDifficulty vs (4*INT)+CHA

Lyre:
 TamingDifficulty vs CHA


char.cpp
truth character::CanTameWithDulcis(const character* Tamer) const
{
  int TamingDifficulty = GetTamingDifficulty();

  if(TamingDifficulty == NO_TAMING) // can't be tamed
    return false;

  if(GetAttachedGod() == DULCIS) // monster is aligned with Dulcis == Free taming!
    return true;

  int Modifier = Tamer->GetAttribute(WISDOM) + Tamer->GetAttribute(CHARISMA); //initial Modifier is WIS+CHA

  if(Tamer->IsPlayer())
    Modifier += game::GetGod(DULCIS)->GetRelation() / 20; // add (relation with Dulcis)/20 to Modifier
  else if(Tamer->GetAttachedGod() == DULCIS)
    Modifier += 50; 

  if(TamingDifficulty == 0)
    if(!IgnoreDanger())
      TamingDifficulty = int(10 * GetRelativeDanger(Tamer));
    else
      TamingDifficulty = 10 * GetHPRequirementForGeneration()
			 / Max(Tamer->GetHP(), 1);

  return Modifier >= TamingDifficulty * 3; // Player's taming Modifer versus 3*TamingDifficulty
}


truth character::CanTameWithLyre(const character* Tamer) const
{
  int TamingDifficulty = GetTamingDifficulty();

  if(TamingDifficulty == NO_TAMING) // can't be tamed
    return false;

  if(TamingDifficulty == 0)
    if(!IgnoreDanger())
      TamingDifficulty = int(10 * GetRelativeDanger(Tamer));
    else
      TamingDifficulty = 10 * GetHPRequirementForGeneration()
			 / Max(Tamer->GetHP(), 1);

  return Tamer->GetAttribute(CHARISMA) >= TamingDifficulty; //Player's Charisma stat vs monster's TamingDifficulty
}


truth character::CanTameWithScroll(const character* Tamer) const
{
  int TamingDifficulty = GetTamingDifficulty();
  return (TamingDifficulty != NO_TAMING
	  && (TamingDifficulty == 0
	      || Tamer->GetAttribute(INTELLIGENCE) * 4
	      + Tamer->GetAttribute(CHARISMA)
	      >= TamingDifficulty * 5));   // (4*INT + CHA) vs (5*TamingDifficulty)
}
Posted by Pent, May 5, 2014 at 4:16 pm
Warheck wrote
What happens if you read through all the books in order from L++ to C-- in one sitting?

Everyone ends up hating you...

EDIT: Also of note is the fact that reading a book of a god you don't know (ie. it teaches you how to pray to them) doesn't affect your relation with them or any other gods - it only gives you the ability to pray to them, just like stepping on an altar.
Posted by Pent, May 5, 2014 at 8:37 am
A fair amount it seems... This is the result of a single reading from a book of Valpurus (starting with 0 relation for all gods - having higher WIS will cause the increases to be greater and the decreases to be smaller):
Posted by Pent, May 2, 2014 at 9:17 pm
I updated the repo with a fix for the bug that caused the game to always say that the player had "never prayed" to Valpurus and Mortifer (they have separate prayer functions from the other gods, and their prayer functions failed to set the counter). I also fixed a couple of typos ("comfort" was always spelled as "confort", which caused resting on the supposedly relaxing couches to be anything but).
Posted by Pent, Apr 23, 2014 at 9:13 am
chaostrom wrote
As to the GPL, I never looked at it myself, so it's possible it's changed in the time since above agreement. Or everyone else just misunderstood it. Whatever the case, it's out of my hands.

Releasing changes as an "official" update to IVAN may require some sort of permission from the devs, but frankly, we could just release anything developed as "Attnam.com's continuation of IVAN" and not need any permissions other than the GPL itself.
Posted by Pent, Apr 22, 2014 at 12:17 pm
chaostrom wrote
Why do you think we had all those issues with permissions? We can't do anything without approval from the original developers. Otherwise development would have resumed already.

But under the GPL don't you have full rights for modification and distribution, so long as you acknowledge that modifications were made to the original work? Holding a fundraiser for development should be well within the rights offered by the GPL, and the actual "permissions" to develop it further are granted by the GPL as well, so long as any releases are compliant with its terms.

COPYING wrote
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

[You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above
, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.

c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)


Posted by Pent, Apr 20, 2014 at 1:21 pm
Warheck wrote
Yeah Pent, how did you get the message "You feel like a banana" ?

I replaced Seges' good prayer effect with code I pulled (of all places) from Arcane's old attempt at a variant. He had one of the gods change you into parchment if they were upset.

void seges::PrayGoodEffect() //Amaterasus bad prayer effect
{
	if(PLAYER->HasAllBodyParts()) //Checks if Player has all his limbs! Important because this effect crashes if you try it with missing limbs.
		{
		ADD_MESSAGE("A voice speaks. \"BANANAAAAAAAAAAAAAAA.\"");
                PLAYER->ChangeMainMaterial(MAKE_MATERIAL(BANANA_FLESH)); //Change whole body to paper.
                ADD_MESSAGE("You feel like a banana.");
				return;
		}
	else
	ADD_MESSAGE("\"No banana for you.\"");
		return;
}

Interestingly enough, after changing my whole body into banana flesh with this, reading SoCMs allowed me to change the materials of my Head, Torso, and Groin as well.
Posted by Pent, Apr 19, 2014 at 6:20 pm
capristo wrote
So what if one of your limbs is banana flesh and you eat a banana?

Limbs don't affect it, as they're secondary materials, but if the player's torso material is banana flesh...

Posted by Pent, Apr 18, 2014 at 8:11 am
I pulled off a High Priest victory in CLIVAN once (still my only IVAN victory to date; I came close to a Freedom victory in CVS a few months back but Sherry caught me on the way back up). After I'd taken down Elpuri with relative ease, I decided to keep going, but was so scared that I stocked up on detect scrolls (I think I even cloned a few) and just detected the staircases and teleported through each floor. Once I got to the next to last floor I forgot what the portal to Oree's lair was made of and had to teleport into the middle of that large room and frantically search for a way out.
Posted by Pent, Apr 17, 2014 at 9:26 am
chaostrom wrote
Well, I won't pretend to know how to read code, but good job fixing it!

" wrote
MadHatter"]
I think i get it.
instead of moving any rock it just does the event with no effect.

Like throwing a gas grenade at a gas-immunity enemy .


Well, I don't fully understand it, and it could likely be solved more elegantly than adding a new script flag for that one stage*, but it seems to have something to do with the game attaching squares to existing tunnels when picking which walls to destroy for the earthquake. Since GC6 is just one large room with no tunnels, it gets stuck looking for squares it can "attach" to, since there aren't any. Setting Tunnels to 0 allows it to skip over that step and it will just destroy some of the walls of GC6 instead.

*EDIT: Yep, it can:
if (game::GetCurrentLevelIndex() == ZOMBIE_LEVEL) 
    Tunnels = 0;