Author Topic: Diff from Myrikhan  (Read 5760 times)

0 Members and 1 Guest are viewing this topic.

Offline myrikhan

  • Dev Team
  • *****
  • Posts: 23
Diff from Myrikhan
« on: August 22, 2010, 03:33:24 PM »
Hello:

Here is a diff of things I've been working on for WM.  As always, take a
look at it, take what you like and leave the rest.

I've changed my mind and would like to join the dev team if you'll still
have me. Coordination is better than me randomly jumping out of the dark
and dropping a patch on you all.

Myrikhan

Cool Stuff
==========

* Added a sell-all button to the store screen. It sells a whole stack
  in one click. (When you have 24 girls devoted to catacomb exploration,
  this becomes an issue.) Someone with better knowledge of this kind of
  GUI design should find it a better home. (And check that I did it right.)
  - itemmanagement_screen.xml included
 
* Rewrote part of the message displaying code. Critical (red) and warning
  (dark blue) are always displayed at the top of the list. (This was
  hard to figure out.)
  * As a side effect, some messages appear out of order and may be
    confusing
   
* Automation: I was getting pretty tired of managing 750 girls so I added
  code to automatically use food-type items that removed bad stats
  (One-eye, scars, mind fucked, ...) , added good stats or xp
  (Nut of knowledge, book of enlightenment, shroud cola & cure combo, ...)
  and healed (salves & incenses.)  Removing diseases and addictions
  (AIDS, shroud addiction, ...) was specifically NOT put in.
  Is this something we want players to have? Perhaps as an option?
  I'm not sure. The function is cBrothelManager::UsePlayersItems and
  is called from the bottom of cBrothelManager::UpdateGirls. Discuss.
 
* How many ways can you say, fuck, vagina and penis?  Added oodles and
  oodles of different texts for sex acts and work_related_violence. 
  Some are sublime, some ridiculous. Enjoy.
  (cGirls::GetRandomSexString() and related.)
    - Someone else will have to do anal. I burned out.
   
  Note: Do not drink and play at the same time. Keep a sharp look-out for
        +4 feral halflings.

Other Changes:
=============

- Fixed a number of overflows: Customer happiness, bank, girl reputation,
  and others I can't remember
  - Someone who knows how to format doubles needs to fix the gold
    display for the bank
- Temporary modifiers to stats and skill work better.  They are recorded
  in the temp. column and aren't saved/loaded any more. Added a function
  or two to support this.
- Reordered and grouped the functions in the C files.  This will make
  the diff look larger than it actually is (I believe.)
- Lowered the skills I put to 150% back to 100%
- Modified work_related_violence a lot.  Changed max. coverage to
  95% and added code for actual (behind the scenes) combat if a girl is
  attacked. (Same combat style as present. See combat section below.)
  - Increased the penalties to attributes for WRV by almost 10x.
  - Because girls take real damage from combat, and their health could
    be <= 20% if they lose, they actually stand a chance of getting AIDS,
    chlamydia or anothe disease. (AIDS has hit my girls twice, Chlamydia
    once.)
   
Difficulty Changes:
==================
   
- Dramatically reduced the rate at which girls skills go up. It's gone
  from multiple points per act to a 10/15/20% chance for slow/normal/fast
  learners to get 1 point in the relevant skill. (Prev. code still there,
  if you don't like this.)
  - Removed skill gains at level-up. Stat gain is still there.
  - Removed skill gains during combat.
  - As a side effect, the stripping skill doesn't go up. It doesn't
    appear to be used anywhere.
- Decreased rate of xp gain to 3/5/7 per act for the slow/normal/fast
  learners. (Prev. code still there.)
- Changed the #clients code to have a max. 3 from looks, 3 from skill and
  3 from reputation
  - The max. number increased from 8 to 9. It was for aesthetic reasons
    really. Doesn't matter if it's put back to 8. 
 - Biased the enemy organizations logic so they are more likely to attack
  the player than each other.
  - Increased the max # of girls enemy orgs. can employ.
 
Combat Related:
==============
* Read on the developer forum you may want to completely redo combat, so
  this section could be pretty useless
 
- Made mana work like dodge.  That is, the girl has a mana pool for each
  fight and each week. She won't be constantly mana-deprived any more.
  - Modified the girl-uses-magic-to-get-the-guy-to-sleep-with-her code
    to match 
- Created functions for girls that calculate the damage they give and
  receive in combat. More traits are taken into account.
- Security now works. Basically when a random group of customers attacks
  a girl, it takes (5 * #customers) of security points for a security
  guard to intercept and fight them. (For my 125-girl brothels with max.
  I need 6+ girls on night-time security. Even then, 0-3 of them are
  defeated each turn.  It's a rockin place to be.)
  - Girl security checks occurs before defending gang security checks
  - Messages to match
- Upped the skills of enemy gangs from 30+d30 to 70+d30.
  - Introduced a second class of weaker gangs at 50+d30 who are the
    attackers in work_related_violence. They don't get healing potions
    like gangs that work for organizations.
- The defending gang (on guard mission) is now randomly determined for
  attack. It isn't always the first gang any more.
- Introduced a max. 95% for dodge and a min. 10% for attack. The min.
  10 fixed some problems WRT invulnerablity.
  - Introduced checks into each combat for the girl or girls being
    invulnerable. In girl vs girl it was rarely hanging the game.
    - This also fixes a bug where a girl with < 20 health who becomes
      insubstantial could still lose a fight
  - Shortened the combat entries in the log (Code still there, just
    commented out.)
- The brothel master's skills and stats improve by 1 each turn. He also
  heals at the end of each turn, but not between each battle in a turn.
- Fixed the potions per battle for your gangs

Small Things:
============

- Set max. beasts ownable to 9999.
- Changed the gold stealing from enemies calculation to be 3 to 10%
  plus a flat amount because of the girl increase. (Enemy orgs. could
  accumulate millions, and never be defeated.)
  - Increased chance of burning down an enemy brothel.
- Condensed some messages around tired/damaged girls being taken off work
- Added natural healing: 2% health and tiredness per turn. It occurs even
  if the girl works both shifts and is designed to heal the little nicks
  and scratches they get. It's no substitute in any way for the existing
  healing related code
- Waaaaaiiittt a sec.  How did I get 5820% looks?: Fixed a bug where
  removing an item was increasing the attribute instead of decreasing it.
- Changed trait-gain-on-level-up: Longer list of traits. Every 10 levels
  all the way to 999 you get one chance at a new trait. If you roll
  something you already have, too bad. Try again in 10 levels.
  - Commented out the level gain message as it was annoying when you have
    750 girls. Re-enable it for general release?
- Added logic and brothel message that tells you how many customers
  came... visited that week, and how many were served
- Fixed a display bug for suspicion

Things I've thought about but not done:
======================================

- Catacomb01 & Catacomb05
- When you have a lot of beasts, some of them randomly kill each other

Offline necno

  • Core Developer
  • ******
  • Posts: 385
Re: Diff from Myrikhan
« Reply #1 on: August 22, 2010, 07:28:15 PM »
I just added you to the dev team. It makes it much easier for you to add your modifications directly as many of us are busy and by the time we get around to looking at your diff file things may have changed alot.

Welcome to the team, you've done some good stuff here and in the past. Looking forward to any additional contributions you make :D
Click here to donate
After you do so please pm me the email address you used so I can add you to the donation forum.

Working on:
Whoremaster II (Official)
Birthright (Now a commercial rougelike)

Offline myrikhan

  • Dev Team
  • *****
  • Posts: 23
Re: Diff from Myrikhan
« Reply #2 on: August 22, 2010, 07:57:09 PM »
I just added you to the dev team. It makes it much easier for you to add your modifications directly as many of us are busy and by the time we get around to looking at your diff file things may have changed alot.

Thanks.  I'll browse the forums before doing anything drastic.  Want to get a feel for what's going
on first.

Myrikhan

Offline Dagoth

  • Administrator
  • *****
  • Posts: 617
Re: Diff from Myrikhan
« Reply #3 on: August 23, 2010, 04:11:32 AM »
What revision is that a diff from, anyway?

Offline myrikhan

  • Dev Team
  • *****
  • Posts: 23
Re: Diff from Myrikhan
« Reply #4 on: August 23, 2010, 09:55:17 PM »
What revision is that a diff from, anyway?

An older one.  I'll check it in on my branch and move things bit by bit onto the
main - based on discussions. The first thing I'd like to check into main is the
random strings - as per the screen shots.

Myrikhan

Offline adrian24

  • Newbie
  • *
  • Posts: 49
Re: Diff from Myrikhan
« Reply #5 on: August 24, 2010, 04:29:54 AM »
Some changes are cool. Some sound like difficulty overkill (sound like - not necessary they are). Anyway, in what folder to copy your files? Only XML document or txt too?
 
And if I want to use only some of the upgrades, do I need to mess with your code? I mean I'll need to know what I'm deleting, right.
 
Most importantly, I'd like to learn write some upgrades myself but I have inferior programming knowledge (I had some basic stuff learned in college for C++). Where could I learn? Is there some programming manual?

Offline myrikhan

  • Dev Team
  • *****
  • Posts: 23
Re: Diff from Myrikhan
« Reply #6 on: August 27, 2010, 12:55:32 PM »
Some changes are cool. Some sound like difficulty overkill (sound like - not necessary they are). Anyway, in what folder to copy your files? Only XML document or txt too?

The diff file is applied to the source code using some diff tool like WinMerge. The xml file goes
in /resources/interface.  Only replace the xml file if you've applied the diff changes.
 
Quote
And if I want to use only some of the upgrades, do I need to mess with your code? I mean I'll need to know what I'm deleting, right.

That's right.

Quote

Most importantly, I'd like to learn write some upgrades myself but I have inferior programming knowledge (I had some basic stuff learned in college for C++). Where could I learn? Is there some programming manual?

There isn't a specific WM manual that I know of.  As for learning programming skills, go to your
favorite book store and buy a few books on beginning and intermediate programming in c++
(in this case.) Read them cover to cover. Write the programs in them. There really aren't any
shortcuts to becoming a good programmer.
Learning to sight read a big project like WM is also a skill. It can't be taught though.  It's
developed by experience. Use the integrated debugger of your development environment.
Set breakpoints. Learn what code performs what actions and the data structures associated
with them.
Play. Break things. Fix them. Curse a lot. Gather scars. Earn your victories.

Myrikhan

Offline adrian24

  • Newbie
  • *
  • Posts: 49
Re: Diff from Myrikhan
« Reply #7 on: August 27, 2010, 01:41:58 PM »
The diff file is applied to the source code using some diff tool like WinMerge. The xml file goes
in /resources/interface.  Only replace the xml file if you've applied the diff changes.
I wish you told me that earlier....
I just copy/pasted you xml file.  :(
What problems will I experience?

Offline Lorde

  • Hero Member
  • *****
  • Posts: 570
  • Accepting requests for girl expansion packs.
Re: Diff from Myrikhan
« Reply #8 on: August 27, 2010, 02:17:33 PM »
I wish you told me that earlier....
I just copy/pasted you xml file.  :(
What problems will I experience?

At best nothing. At worst game crashes when you enter the item screen. Most likely, item screen is borked for you.

Anyway, good news. I uploaded the WM 1.3 Itemmanagement_screen.xml file for you here.

pop that into Resources/Interface and you should be back to normal.
Current Girl Work Schedule            
* Revy  (Black Lagoon)
* Stab at The series He is my Master
* Run Elsie Jewelria and Yuuki Rito (To Love Ru)
* Yukari Takeba (Persona 3)
* Work on the Code Geass girls

Offline myrikhan

  • Dev Team
  • *****
  • Posts: 23
Re: Diff from Myrikhan
« Reply #9 on: August 27, 2010, 06:09:53 PM »
Anyway, good news. I uploaded the WM 1.3 Itemmanagement_screen.xml file for you here.

pop that into Resources/Interface and you should be back to normal.

Thanks. If you're curious, the new xml file supported a sell stack button on the store
screen.

Myrikhan